using System.Collections.Generic;

namespace AtomicCms.Common.Data.Contracts
{
    public interface IDataRepository<T>
    {
        T Load(int id);
        IEnumerable<T> LoadAll();
        IEnumerable<T> Find(IQuery query);
        T FindFirst(IQuery query);
        void Save(T entity);
        void Add(T entity);
        void Delete(T entity);
    }
}